package com.zjsru.plan2024.oneday;

import java.util.Arrays;

/**
 * 3264. K 次乘运算后的最终数组 I
 *
 * @Author: cookLee
 * @Date: 2024-12-14
 */
public class GetFinalState {

    /**
     * 主
     * \
     * 你需要对 nums 执行 k 次操作，每次操作中：
     * 找到 nums 中的 最小 值 x ，如果存在多个最小值，选择最 前面 的一个。
     * 将 x 替换为 x * multiplier 。
     * \
     * 输入：nums = [2,1,3,5,6], k = 5, multiplier = 2
     * 输出：[8,4,6,5,6]
     * \
     *
     * @param args args
     */
    public static void main(String[] args) {
        GetFinalState getFinalState = new GetFinalState();
        int[] nums = new int[]{2, 1, 3, 5, 6};
        int k = 5;
        int multiplier = 2;
        System.out.println(Arrays.toString(getFinalState.getFinalState(nums, k, multiplier)));
    }

    /**
     * 获取最终状态
     *
     * @param nums       nums
     * @param k          k
     * @param multiplier 乘数
     * @return {@link int[]}
     */
    public int[] getFinalState(int[] nums, int k, int multiplier) {
        int len = nums.length;
        for (int i = 0; i < k; i++) {
            int m = 0;
            for (int j = 0; j < len; j++) {
                //获取数组里的最小下标
                if (nums[m] > nums[j]) {
                    m = j;
                }
            }
            nums[m] = nums[m] * multiplier;
        }
        return nums;
    }

}
